package com.tool;

import java.util.HashMap;
import java.util.Map;

/**
 * @author niuyicong
 * @date 2024/11/17  22:11:14
 * @description
 */
public class MapMemorySizeTest {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("key1", 1);
        map.put("key2", 2);


        // 估算HashMap对象本身的开销，假设为48字节（这只是一个估计值）
        long hashMapOverhead = 48;
        // 估算每个键值对的开销，假设为80字节（包括Node对象和键值对象的部分开销）
        long entryOverhead = 80;
        long estimatedSize = hashMapOverhead + entryOverhead * map.size();
        System.out.println("Estimated size of the map: " + estimatedSize + " bytes");
    }
}
